Skip to main content link. Accesskey S
  • Help
  • HCL Logo
  • HCL Notes and Domino Application Development wiki
  • THIS WIKI IS READ-ONLY. Individual names altered for privacy purposes.
  • HCL Forums and Blogs
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • API Documentation
Search
  • Share Show Menu▼
  • Subscribe Show Menu▼

Recent articles by this author

Community articleWhat's New in 852 for XPages
Added by ~Joan Zektoomarings | Edited by IBM contributor~George Fronusteretsi on August 25, 2010 | Version 23
expanded Abstract
collapsed Abstract
Here is a list of the new XPages features and enhancements, some big, some small, that are in IBM Lotus Notes Domino 852. It's an A to Z with one-liners (a little rough now, some with placeholders - we will get to those in time), with links to existing articles and blog posts.
Tags: 8.5.2, ajax, Domino Designer, XPages
ShowTable of Contents
HideTable of Contents
  • 1 Accessibility
    • 1.1 ARIA Support
  • 2 Active Content Filter
  • 3 Agents
    • 3.1 Agents with In-Memory documents
    • 3.2 Java Agents in XPiNC
  • 4 Ajax
    • 4.1 Partial Refresh Timeout
    • 4.2 Prevent Filtering
  • 5 CKEditor
  • 6 Controls
    • 6.1 Editbox autocomplete
    • 6.2 Radio Group & Checkbox Group
    • 6.3 tagName
  • 7 Data Sources
    • 7.1 databaseName
    • 7.2 Soft Deletes
  • 8 Designer
    • 8.1 "Pretty" Panels
    • 8.2 Source
  • 9 Discussion Template
  • 10 Documentation
  • 11 Dojo
    • 11.1 Upgrade
    • 11.2 Type and Attributes
    • 11.3 dojoForm
  • 12 Events
    • 12.1 onClientLoad
  • 13 Extensions API
  • 14 Global Objects
    • 14.1 sessionAsSigner
    • 14.2 sessionAsSignerWithFullAccess
  • 15 HeadTag
  • 16 HTML5
    • 16.1 Cache Manifest
    • 16.2 Base Resource
  • 17 Infrastructure
    • 17.1 OSGi Framework
  • 18 Miscellaneous
    • 18.1 New complex-type "loaded" property
  • 19 OneUI
    • 19.1 oneuiv2
  • 20 Pagers
    • 20.1 Last Page
  • 21 Performance
  • 22 Repeat Control
    • 22.1 Allow Zero Rows
  • 23 Security
    • 23.1 Java Agents in XPiNC
    • 23.2 XPages ECL to Permissions updated to include more Java Permissions
    • 23.3 Public Access
    • 23.4 Managed Beans
  • 24 Single Copy XPage Design (SCXD)
  • 25 Validation
    • 25.1 disableValidation
  • 26 View Filtering
    • 26.1 Start Key
    • 26.2 Multi-level category
    • 26.3 View Last Page
  • 27 Views and View Panel
    • 27.1 Clickable View Column Header Icons
    • 27.2 NotesXspViewEntry.setSelected()
  • 28 XPages in the Notes Client (XPiNC) Integration
    • 28.1 Running Agents in XPiNC
    • 28.2 New Tab\Window management support
    • 28.3 New Replica option
    • 28.4 Open in Designer option
    • 28.5 XULrunner upgrade
    • 28.6 window.close() support


Here is a list of the new XPages features and enhancements, some big, some small, that are in IBM Lotus Notes Domino 852. It's an A to Z with one-liners (a little rough now, some with placeholders - we will get to those in time), with links to existing articles and blog posts.
So here goes...

Accessibility


ARIA Support

ARIA support (includes the role property added to many controls) - the role property implements the W3C ARIA specification on roles at http://www.w3.org/TR/wai-aria/#Using_intro.

As of release 8.5.2, most XPages controls contain a role property which is accessible by clicking All properties on the Properties tab. This property is a literal string or a computed value that returns a string.

The role property implements the W3C ARIA specification on roles. Screen readers such as JAWS use roles to acquire contextual information about HTML pages. For valid values, see http://www.w3.org/TR/wai-aria/#roles.

WAI-ARIA provides Web authors with the following
  • Roles
    • to describe the type of widget presented, such as "menu," "treeitem”
    • to describe the structure of the Web page, such as headings, regions, and tables (grids)
  • Properties
    • to describe the state widgets are in, such as "checked" for a check box, or "haspopup" for a menu.
    • to define live regions of a page that are likely to get updates (such as stock quotes), as well as an interruption policy for those updates—for example, critical updates may be presented in an alert dialog box, and incidental updates occur within the page
    • for drag-and-drop that describe drag sources and drop targets


Roles, States & Properties
An ARIA role is set on an element using a role attribute.

For example,
   1:    <li role="menuitem">Open file…</li> 
 

ARIA provides a collection of accessibility states and properties which are used to support platform accessibility APIs. Changes in states or properties will result in a notification to the assistive technology, which may alert the user that a change has occurred.

For example,

   1:   <li role="menuitemcheckbox" aria-checked="true">Sort by Last Modified</li>  


Active Content Filter

The ACF has been upgrade since 851. The version in 852 is 2.4.0. No major feature or functional changes for XPages. The default configuration now strips out any dojoType attribute settings.

Agents


Agents with In-Memory documents

Ability to run Agents with In-Memory documents - Agent.runWithDocumentContext(Document doc) - Agent.runWithDocumentContext(Document doc, String noteID)

More details can be found here, XPages and Calling Agents Using an In-Memory Document.

Java Agents in XPiNC


XPages in the Notes Client, Release 8.5.2, supports calling Java Agents to run locally on the Notes Client. Previously, only Agent.runOnServer() was supported where the NSF containing the XPages application and Java Agent were stored on a Domino Server.

More details can be found here, Running Java Agents from XPages in the Notes Client. The key information is summarised below.

In Release 8.5.2, XPages support for the Java Agent APIs on the Notes Client is the following,




Client Type NSF Location Supported Agent API
Agent.run() Agent.run(String noteID) Agent.runWithDocumentContext(Document doc) Agent.runWithDocumentContext(Document doc, String noteID) Agent.runOnServer() Agent.runOnServer(String noteID)
Notes Client Local Notes Client Yes Yes Yes, new API for 8.5.2 Yes, new API for 8.5.2 Yes, runs agent on Notes Client Yes, runs agent on Notes Client
Notes Client Domino Server Yes Yes Yes, new API for 8.5.2 Yes, new API for 8.5.2 Yes Yes

Ajax


Partial Refresh Timeout

Set a timeout for partial refresh - "xsp.partial.update.timeout" - See http://xpagesblog.com/xpages-blog/2010/6/24/calling-timeout-on-large-file-uploads-in-xpages.html for a use case.

Prevent Filtering

Prevent-filtering property (TypeAhead preventFiltering property). The typeahead *always* automatically filters the entries based on the first characters sent by the browser, which prevent some use cases from working. For example, where you would like to show results from the first character on the second word. This new property prevents this filtering.

CKEditor

CKEditor - new default rich text editor to XPages. This is the new default Rich Text Editor for 852, though if you need to switch back to using the previous dojo editor, there is an option here to do so.

This editor permits the embedding of images, tables, links and emoticons.



You can adjust the toolbar that is rendered. With the rich text control in focus, click the Dojo tab and add an attribute (dojoAttributes property) named toolbarType with a value of Slim, Medium (default), or Large.

You can revert to the Dojo rich text editor. With the rich text control in focus, click the Dojo tab and specify the Dojo type (dojoType property) as ibm.xsp.widget.layout.RichText. Alternatively you can apply a theme to the entire application, for example:

   1:  
   2:  <!-- Rich Text -->
   3:  <control>
   4:  	<name>InputField.RichText</name>
   5:  	<property>
   6:  		<name>dojoType</name>
   7:  		<value>ibm.xsp.widget.layout.RichText</value>
   8:  	</property>		
   9:  	......
   10:  </control>

Controls


Editbox autocomplete

Support for the "autocomplete" attribute on the EditBox to help manage the setting and changing of passwords.

Radio Group & Checkbox Group

Radio Group & Checkbox Group - has been re-implemented in Designer

tagName

HTML tag support for Computed text (tagName Property). This allow the control to emit a tag for computed text, like h1, h2, h3 tags to aid in creating semantic HTML structures for documents (to help in search engine optimizations, etc). See the following for more information http://xpagesblog.com/xpages-blog/2010/8/25/an-easy-way-to-set-the-tag-of-computed-text-to-aid-in-semant.html

Data Sources


databaseName

Better server name support in the database Name attribute. This allows the database to be deployed on different servers and run on the client, XPiNC, without having to update the databaseName property for each NSF deployed to each server.

Soft Deletes

Soft deletes support enhancement.

Designer


"Pretty" Panels

Most if not all of the 'pretty' panels have been enhanced. The widely used properties from the 'All Properties' tab have now been promoted to the more user friendly panels. See the Data panel for the View Panel control.

Source

Drag and drop to the Source pane.

Lots of other stuff...

Discussion Template

The Discussion template has gotten a further update in 852 so that it performs better and has a better user experience.

Documentation

For Release 8.5.2, the XPages user's guide in the product documentation has been revised. It now includes reference topics for all controls and properties. The overview and other material has also been redrafted. Work is on going to improve this guide.

Dojo


Upgrade

Upgraded to Dojo 1.4.3 for the server and XPiNC. The server install will also include a further upgrade to 1.3.x to Dojo 1.3.3.

Type and Attributes

Dojo Type and Attributes added to more controls (including scriptBlock)

dojoForm

Support for dojoForms (dojoForm="true")

Events


onClientLoad

onClientLoad Event. Its now possible to add scripts in the events to be executed when the page is submitted or this panel or some containing panel is partial updated.

Extensions API


Some are calling this XPages, The Next Generation, and this feature is one of the main, if not the main highlight for XPages in 852.

Current documentation on this Wiki - http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_XPages_Extensibility_APIs_Developer_Guide

Tim Tripcony's blog post on this - http://www.timtripcony.com/blog.nsf/d6plinks/TTRY-86X7KV
Declan Lynch's post - http://www.qtzar.com/blogs/qtzar.nsf/d6plinks/DSLH-8673BY

Global Objects


Two new Global Objects for Server Side JavaScript, sessionAsSigner (open a session using the signer rights) and sessionAsSignerWithFullAccess(open a session using the signer rights, while giving it full access to the data)

sessionAsSigner

Assigns credentials based on the signer of the of XPages design element. The session is restricted by the application's ACL and the security tab of the server's Domino Directory entry.

sessionAsSignerWithFullAccess

Assigns credentials based on the signer of the of XPages design element and allows full administrative access to the application's data. The signer must have the right to such access or the session is not created.

HeadTag

New resource xp:headTag - this allow you in an easy way to put stuff into the header of a XPage - and here is an example of it's use - http://www-10.lotus.com/ldd/heidloffblog.nsf/dx/quick-tip-prereq-to-run-xpages-on-blackberry .


HTML5


Cache Manifest

HTML5 cache manifest support. This offers off-line capabilities. See Niklas Heidloff's http://www.openntf.org/blogs/openntf.nsf/d6plinks/NHEF-85588X and Mark Hughes'shttp://dominoextnd.blogspot.com/2010/05/html-5-cache-manifest-and-dynamic-data.html

Base Resource

HTML5 Base resource support - pageBaseUrl property renders as a base tag in the header. The tag specifies a default URL and\or a default target, for all elements with a URL.

Infrastructure


OSGi Framework

The runtime has switched over to use the OSGi framework. All the XPages libraries (which are under xsp/nsf/lib in 851) have being moved to the OSGI framework under the shared eclipse location.

Miscellaneous


New complex-type "loaded" property

New support has been added for the loaded attribute to complex types. This will allow for a way to conditionally define a complex objects like a dominoDocument on an XPage.

OneUI


oneuiv2

A new version fully available - oneuiv2. Try out these new themes: oneuiv2, oneuiv2_green, oneuiv2_gold, oneuiv2_metal and oneuiv2_red.

Pagers


Last Page

Allows for the calculating of the Last page in a data collection for the Pager. In 851, there is a restriction on the number of pages the Pager will display. This is because of associated performance hit (this is still the case with this new property). However, customers have asked for an option to calculate this regardless. The 'alwaysCalculateLast' property, new to 852, allows you to do just that.

Performance

Further enhancements in the Java back-end classes help XPages perform better.

Repeat Control


Allow Zero Rows

Repeat Control enhancements - "xsp.repeat.allowZeroRowsPerPage". This option may be useful when you need to compute the number of rows to display as there may be situations where no rows should be displayed but the Repeat control should still render.

Security


Java Agents in XPiNC

XPages in the Notes Client, Release 8.5.2, supports calling Java Agents to run locally on the Notes Client. Previously, only Agent.runOnServer() was supported where the NSF containing the XPages application and Java Agent were stored on a Domino Server.

More details can be found here, Running Java Agents from XPages in the Notes Client.

XPages ECL to Permissions updated to include more Java Permissions

In V851 of XPages, security for executing Java code in XPages in the Notes Client was very restricted. For XPages V852, the Java Permissions managed by the XPages ECL settings have been broadened to be similar to the set of Java Permissions allowed by Java Agents and to bring a level of equivalence between Java Permissions allowed for XPages on Domino Server (Unrestricted) and XPages in the Notes Client. For example, in V851 the ECL Network permission only covered the Java SocketPermission, now it covers NetPermission and other related Java network permissions.

Public Access

Public Access enables users to view (or create and edit) documents in cases where the user has not been explicitly granted access as either a reader or author of a particular document.

Up to now XPages applications were prevented from running if the user accessing the application only had the ability to read and write to Public Access documents. Now, in XPages Release 8.5.2, application designers can make XPages design elements available to Public Access users by setting the "Available to Public Access users" property in the Security sections of the Properties tab for an XPage.

Once an XPage has been made available to Public Access users, the user will only see
  • documents
    1. that have been created from a form which the "Available to Public Access users" property set and
    2. also contain a text field named $PublicAccess with a value of 1
  • contents of views
    1. that have the "Available to Public Access User" property set in the access control options for the view (and only those documents that are available to Public Access users will appear in the view).

More details can be found here, XPages Public Access Support.

Managed Beans

Referencing a Managed Bean from JavaScript now supported in XPiNC. This fixes a bug where a Managed Bean, first referenced in JavaScript (which triggered the creation of the Bean) caused a security exception. The workaround was to first have this Managed Bean referenced and created as a DataSource (referencing the Bean from then on was fine). This bug is now fixed.

Single Copy XPage Design (SCXD)

Redirect XPages design elements to other databases.

XPages treats each NSF as a separate J2EE module, running in its own environment and loading its own objects. This ensures the complete isolation of each NSF. But, in some cases, a set of NSFs may share the exact same XPages, for example, MailBox databases or Quickr places.

Although the one NSF module works by having all the databases inheriting from the same template, it is not optimal in term of server resources as the same objects (design elements, java classes...) are read independently from each NSF, and retained in memory. This is also not optimal from a browser standpoint, as the same resources (.js, .css...) are coming from different URLs, which makes the browser caching less efficient.

The solution is to store the XPages design elements (XPages, Custom Controls, CSS, client/server JS libraries, themes) in a single NSF. Then, each database instance can point to the common "template" database through a new database property available in Designer.

Right Click on the Application in Designer and select Application -> Properties. Select the XPages tab and navigate to Performance section.
Single copy XPage design Performance option in Designer


At runtime, XPages will read this information and if Single copy XPages design is enabled, it will then use the XPages related design elements from the "template" database instead of the current database.

More in-depth details can be found here http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Single_Copy_XPage_Design
and here http://xpagesblog.com/xpages-blog/2010/6/16/single-copy-xpage-design-another-piece-of-xpages-magic.html.

Validation


disableValidation

Save Only Validation - disableValidation property - allows you to process data without validation and so firing the validation when it really matters. Resolves http://www.juliusbuss.de/web/youatnotes/blog-jb.nsf/dx/xpages-am-i-the-only-one-fighting-with-validation-on-every-partial-update.htm?opendocument&comments and http://www.bleedyellow.com/blogs/dotdomino/entry/xpages_the_good_the_bad_and_the_ugly_x14?lang=en_ie

View Filtering


Start Key

Very much like 'keys', startKey allows you to filter the view to start at a certain value.

Multi-level category

This is an addition to categoryFilter that allows you to filter a view by the category and then the sub-category.

View Last Page

XPages developers now have a option in the Pager control to calculate the last page in a view, so that a user can go directly to that page without having to scroll though all intervening pages. Note that there is a performance penalty for calculating the last page.


More details can be found here, XPages and Views in V852 - Multiple Category Filters, Start Key, and Goto Last

Views and View Panel


Clickable View Column Header Icons

NotesXspViewEntry.setSelected()


XPages in the Notes Client (XPiNC) Integration


Running Agents in XPiNC

XPages in the Notes Client, Release 8.5.2, supports calling Java Agents to run locally on the Notes Client. Previously, only Agent.runOnServer() was supported where the NSF containing the XPages application and Java Agent were stored on a Domino Server.

More details can be found here, Running Java Agents from XPages in the Notes Client.

Related to Agents, and new in V852, the following NotesAgent methods are supported: NotesAgent.run, NotesAgent.runWithDocumentContext, and NotesAgent.runOnServer. Note that when run locally in the Notes Client, security is based on the client ECL settings for the signer of the agent.

More details can be found here, XPages and Calling Agents Using an In-Memory Document.

New Tab\Window management support

New for Lotus Notes and Domino Designer 8.5.2 is the ability to optionally open XPage links and documents in a separate window or tab within the Notes client. This behaviour is specified at application design time and is set using the 'Window behavior' property in the user interface. The example below is for a Link.



The 'Window behavior' property has three possible values:
  1. Use default
  2. Open in same window and tab
  3. Open in new window or tab (per Client preference)

Option #1 is the default value for all design elements so the behavior of existing XPages applications will not change. The 'per Client preference' mentioned here is the 'Windows and Themes -> Window Management' preference. This preference has the following three options and if option #3 above is selected, then this preference will be used to determine Window behavior.
  1. Open each document in its own window
  2. Open each document in its own tab
  3. Group documents from each application on a tab

The 'Window behavior' property can be set on the following XPages design elements, and are listed in hierarchical order. Each child element will inherit its parent's behavior by default, unless the child is explicitly changed. So take care when setting this property at the Server or Application level.
  • Notes client
  • Server
  • Application
  • XPage
  • View
  • Link

These new properties will be ignored by Notes 8.5.1 clients.

New Replica option

This menu option now available when an app is launched in XPiNC.

Open in Designer option

Menu option now available for a XPages app is launched in XPiNC

XULrunner upgrade

XulRunner in XPiNC has been upgraded to 1.9x, which is equalivalent to Mozilla 3.x.

window.close() support

Adds the ability to Close a Window from a Client Side or Server Side JavaScript event.


expanded Attachments (0)
collapsed Attachments (0)
expanded Versions (27)
collapsed Versions (27)
Version Comparison     
VersionDateChanged by              Summary of changes
27Apr 25, 2016, 12:23:08 PM~Fred Ektumilitetsi  
26Apr 25, 2016, 10:01:22 AM~Elizabeth Cisboosiburakol  
25Jan 6, 2011, 10:35:51 AM~Joan Zektoomarings  
24Dec 2, 2010, 10:10:07 AM~Ned Desfanatherli  
This version (23)Aug 25, 2010, 11:03:49 AM~George Fronusteretsi  IBM contributor
22Aug 24, 2010, 11:39:18 AM~George Fronusteretsi  IBM contributor
21Aug 24, 2010, 11:34:55 AM~George Fronusteretsi  IBM contributor
20Aug 17, 2010, 4:19:03 PM~George Fronusteretsi  IBM contributor
19Aug 9, 2010, 2:20:22 PM~Zelda Fezboosipulgon  IBM contributor
18Aug 9, 2010, 12:47:45 PM~Zelda Fezboosipulgon  IBM contributor
17Aug 9, 2010, 12:45:50 PM~Zelda Fezboosipulgon  IBM contributor
16Aug 9, 2010, 12:32:26 PM~Zelda Fezboosipulgon  IBM contributor
15Aug 9, 2010, 12:11:00 PM~Zelda Fezboosipulgon  IBM contributor
14Aug 9, 2010, 12:01:53 PM~Zelda Fezboosipulgon  IBM contributor
13Aug 9, 2010, 11:00:44 AM~Zelda Fezboosipulgon  IBM contributor
12Aug 9, 2010, 10:16:28 AM~Zelda Fezboosipulgon  IBM contributor
11Aug 9, 2010, 10:13:41 AM~Zelda Fezboosipulgon  IBM contributor
10Aug 9, 2010, 10:13:11 AM~Zelda Fezboosipulgon  IBM contributor
9Aug 9, 2010, 10:01:22 AM~Zelda Fezboosipulgon  IBM contributor
8Jul 28, 2010, 3:32:02 PM~George Fronusteretsi  IBM contributor
7Jul 28, 2010, 3:00:01 PM~George Fronusteretsi  IBM contributor
6Jul 28, 2010, 2:45:01 PM~George Fronusteretsi  IBM contributor
5Jul 28, 2010, 2:43:37 PM~George Fronusteretsi  IBM contributor
4Jul 28, 2010, 2:18:40 PM~George Fronusteretsi  IBM contributor
3Jul 28, 2010, 1:54:16 PM~George Fronusteretsi  IBM contributor
2Jul 28, 2010, 1:34:14 PM~George Fronusteretsi  IBM contributor
1Jul 28, 2010, 1:21:52 PM~Joan Zektoomarings  
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedAbout
  • HCL Software
  • HCL Digital Solutions community
  • HCL Software support
  • BlogsDigital Solutions blog
  • Community LinkHCL Software forums and blogs
  • About HCL
  • Privacy
  • Accessibility